package com.hyt.it.ogt.kq.service.gov.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hyt.it.ogt.kq.common.gov.utils.GovPage;
import com.hyt.it.ogt.kq.service.gov.model.param.arrange.*;
import com.hyt.it.ogt.kq.service.gov.model.vo.PlaceRoomVO;
import com.hyt.it.ogt.kq.service.gov.model.vo.arrange.*;

import java.util.List;

public interface IArrangeService {
    ArrangeResultVO getArrangeCountResult(String taskId);

    Page<ArrangeResultByTimeVO> searchArrangeResultByTime(Page<ArrangeResultByTimeVO> page, ArrangeResultByTimeParam param);

    List<ArrangeResultDetailByTimeVO> getArrangeResultDetailByTime(String taskId, String timeId, int type);

    Page<ArrangeResultByRoomVO> searchArrangeResultByRoom(Page<ArrangeResultByRoomVO> page,
            ArrangeResultByRoomParam param);

    Page<ArrangeResultBySubjectVO> searchArrangeResultBySubject(Page<ArrangeResultBySubjectVO> page,
            ArrangeResultBySubjectParam param);

    Page<ArrangeResultByCandidateVO> searchArrangeResultByCandidate(Page<ArrangeResultByCandidateVO> page,
            ArrangeResultByCandidateParam param);

    ArrangeSubjectCountVO getArrangeSubjectCountResult(String taskId);

    void resetArrange(String taskId);

    void downloadPackage(String taskId) throws Exception;

    GovPage<PlaceRoomVO> getChangeRoom(GovPage<PlaceRoomVO> page, SearchChangeRoomParam param);

    void changRoom(ChangRoomParam param);

    String JudgeAreaLevel(String taskId);
}
